Organizations are increasingly adopting virtual desktop infrastructure (VDI) solutions to simplify desktop administration tasks and increase security and data safeguard measures. With VDI, desktop operating systems and applications are run inside virtual machines (also referred to herein as “virtual desktops”) that reside on servers in an organization's data center. Users access the virtual desktops through a thin client application that runs on their desktop PC (or any other similar computer terminal, including, for example, zero-touch clients, thin clients, laptops, tablets, smartphones and the like) and utilizes a remote display protocol to render the graphical user interface of the desktop operating system on the desktop PC. Users are then able to interact with the applications running in the virtual desktop as if such applications were running on the desktop PC itself.
VDI deployments exhibit different resource consumption characteristics than typical server-based virtualization deployments. For example, unlike long-lived servers in server-based virtualization deployments, VDI deployments encounter simultaneous booting, suspending, resuming, and powering-off of virtual desktops consistent with the typical usage patterns of users accessing their desktop PCs. The higher density of virtual desktops in VDI deployments (in contrast to the relatively smaller number of virtual machines in server-based virtualization deployments) can result in time-oriented “I/O storms” (e.g., simultaneous anti-virus scans and updates, data backups and other scheduled activities) in which virtual desktops simultaneously compete for computing and storage resources within an organization's data center. For example, VDI deployments need to be configured to adequately addresses “boot storms,” in which several hundreds of virtual desktops allocated to a single server need to be powered on at once. Such boot storms may occur, for example, each morning, when users arrive for work or when recovering from a data center or server failure.
Current VDI deployments often boot a large set of identical virtual desktops, for example, based upon a “gold master” image that is used to create a consistent base configuration for virtual desktops across an organization. Use of such a gold master image results in the storage of multiple boot images (e.g., allocated for each virtual desktop) that contain the same or similar data (originating from the gold master image) in an organization's storage area network (SAN). However, the occurrence of a boot storm (and other previously mentioned I/O storms) can unduly stress the network resources of a data center as servers continuously and repetitively request access to the SAN in order to read the respective boot images (or other data related to other types of I/O storms). This results in unacceptable delays suffered by users as they wait for their virtual desktops to boot (or receive data for other types of I/O storms).